home *** CD-ROM | disk | FTP | other *** search
/ ftp.cs.arizona.edu / ftp.cs.arizona.edu.tar / ftp.cs.arizona.edu / icon / newsgrp / group97a.txt / 000073_icon-group-sender _Thu Mar 6 08:55:25 1997.msg < prev    next >
Internet Message Format  |  2000-09-20  |  2KB

  1. Received: by cheltenham.cs.arizona.edu; Thu, 6 Mar 1997 13:36:14 MST
  2. Date: Thu, 6 Mar 1997 08:55:25 -0800
  3. From: kwalker@orville.premenos.com (Ken Walker)
  4. Message-Id: <199703061655.IAA10379@varda.premenos.com>
  5. To: icon-group@cs.arizona.edu, bpr@best.com
  6. Subject: Re: Recursive directory traversal in Icon
  7. Mime-Version: 1.0
  8. Content-Type: text/plain; charset=us-ascii
  9. Content-Transfer-Encoding: 7bit
  10. Content-Md5: /S59TrK46z3UOLzx5KRRtA==
  11. Errors-To: icon-group-errors@cs.arizona.edu
  12. Status: RO
  13. Content-Length: 1715
  14.  
  15. > From: Brian Rogoff <bpr@best.com>
  16. > Subject: Recursive directory traversal in Icon
  17. > (2) Why no module system? I've found modules helpful in every language I've 
  18. >     worked with, and Icon doesn't seem to be different in that it could use
  19. >     such a system. I noticed someone else mention this, but it is not in
  20. >     the FAQ. Perl has benefitted greatly from the inclusion of modules.
  21.  
  22. 6 or 7 years ago, I implemented modules in ISI's attempt at a commercial
  23. version of Icon (technicall, the U of A's version with proprietary extensions).
  24. We produced a product, but the venture didn't get anywhere. The module
  25. feature allowed better information hiding and helped manage the global
  26. name space. A more "modern" approach to dealing with these (and other)
  27. problems is "objects". Even before ISI's version of Icon, Clint Jeffery
  28. created IDOL, an object-oriented version of Icon, implemented with a
  29. preprocessor. The preprocessor is distributed as a part of the "Icon
  30. Program Library".
  31.  
  32. It is possible to have both objects and modules in a language. Java packages
  33. are modules. Within them you can declare classes. Because classes cannot
  34. be nested and give the user of the class no control over visability,
  35. classes don't give implementer as much cabability for information hiding
  36. and doesn't give users as much control over their the global name space
  37. as you'd like. Note that while objects are useful for projects of all
  38. sizes, modules really become helpful only for larger projects.
  39.  
  40. Maybe someday there will be a verion of Icon with both features, but someone
  41. will have to be interested enough and have the resources to implement it.
  42.  
  43. Ken Walker, kwalker@premenos.com
  44. Premenos Coporation, Concord, Ca. 94520
  45.  
  46.